/*
ONEGAME
Copyright (C) 2009  Pablo Caballero

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package one.project;

import one.language.Labels;

/**
 * The default system data
 * @author Pablo Caballero
 * @version 1.0 22-jun-2009
 */
public class DefaultSystemData implements ISystemData {

	/**
	 * Author
	 */
	protected String author = "unknow";
	/**
	 * Project name
	 */
	protected String projectName = "onegame";

	/**
	 * Gets the value of author
	 * @return the value of author
	 */
	public String getAuthor() {
		return author;
	}

	/**
	 * Sets the value of author
	 * @param author new value of author
	 * @throws java.beans.PropertyVetoException
	 */
	public void setAuthor(String author) {
		this.author = author;
	}

	/**
	 * Gets the name of the project
	 * @return the name of the project
	 */
	public String getProjectName() {
		return projectName;
	}

	/**
	 * Sets the name of the project
	 * @param projectName the name of the project
	 */
	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	@Override
	public String toString() {
		return Labels.getString("PROJECT_SYSTEMDATA");
	}

	public Object getChild(int index) {
		SYSTEM_DATA_SECTIONS section = SYSTEM_DATA_SECTIONS.values()[index];
		switch (section) {
			case AUTHOR:
				return Labels.getString("PROJECT_AUTHOR") + " " + getAuthor();
			default:
				return null;
		}
	}

	public int getChildCount() {
		return SYSTEM_DATA_SECTIONS.values().length;
	}

	public boolean isLeaf() {
		return false;
	}
}
